Napisem nazywamy każdy skończony ciąg małych liter
alfabetu angielskiego.
W szczególności może to być ciąg pusty.
Zapis
oznacza, że
jest napisem powstałym przez
sklejenie napisów
i
(w tej kolejności).
Napis
jest prefiksem napisu
, jeżeli istnieje
taki napis
, że
.
Inaczej mówiąc, prefiksy
to początkowe fragmenty
.
Jeśli dodatkowo
oraz
nie jest napisem pustym,
to mówimy, że
jest prefiksem właściwym
.
Napis
jest okresem
, jeśli
jest prefiksem
właściwym
oraz
jest prefiksem (niekoniecznie właściwym)
napisu
.
Przykładowo, napisy abab i ababab są okresami
napisu abababa.
Maksymalnym okresem napisu
nazywamy najdłuższy z jego
okresów, lub napis pusty, jeśli
nie posiada okresu.
Dla przykładu, maksymalnym okresem napisu ababab jest
abab.
Maksymalnym okresem abc jest napis pusty.
Napisz program, który:
W pierwszym wierszu standardowego wejścia zapisana jest jedna
liczba całkowita
(
) - długość napisu.
W kolejnym wierszu znajduje się ciąg dokładnie
małych liter alfabetu
angielskiego - napis.
W pierwszym i jedynym wierszu standardowego wyjścia Twój program powinien zapisać jedną liczbę - sumę długości maksymalnych okresów wszystkich prefiksów napisu zadanego na wejściu.
Dla danych wejściowych:
8 babababa
poprawną odpowiedzią jest:
24
Autor zadania: Szymon Acedański.
W razie problemów technicznych ze Szkopułem, prosimy o kontakt mailowy pod adresem szkopul@fri.edu.pl.
Jeśli chciałbyś porozmawiać o zadaniach, rozwiązaniach lub problemach technicznych, odwiedź nasze serwery na Discordzie. Są one moderowane przez społeczność, ale członkowie zespołu wsparcia również aktywnie się tam udzielają.